package com.newlink.building.userinfo.mvp.contract

import com.newlink.building.common_base.base.IModel
import com.newlink.building.common_base.base.IPresenter
import com.newlink.building.common_base.base.IView
import com.newlink.building.common_base.model.bean.HttpResult
import com.newlink.building.common_base.model.bean.ResponseTopData
import io.reactivex.Observable

/**
 * @author wangyang
 * @date 2022/10/29
 * @description 我的——账户信息——更换手机号页面（第一步：输入密码）的Contract
 */
interface Module_UserInfo_AccountInformationChangePhoneContract {

    interface Model : IModel {
        fun getData()
        fun verifyPassword(
            accessToken: String,
            password: String
        ): Observable<HttpResult<ResponseTopData>>
    }

    interface View : IView {
        fun showData()
        fun verifyPasswordSuccess()
        fun verifyPasswordFailed(msg: String)
    }

    interface Presenter : IPresenter<View> {
        fun getData()
        fun verifyPassword(accessToken: String, password: String)
    }
}